home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / tbbs / prgsourc.zip / HOMES.ZIP / PAREA.PRG < prev    next >
Text File  |  1996-01-13  |  10KB  |  302 lines

  1. PROCEDURE parea
  2. PARAMETERS md
  3.  
  4. PRIVATE cnt
  5. PRIVATE x
  6. PRIVATE y
  7. PRIVATE page
  8.  
  9. SELECT b
  10. COUNT TO cnt
  11. GOTO TOP
  12. PUBLIC aarea[cnt]
  13. x = 1
  14. DO WHILE x < cnt       
  15.    aarea[x] = name
  16.    x = x + 1
  17.    SKIP
  18. ENDDO
  19. aarea[x] = name
  20.  
  21. IF cnt > 17
  22.    page = cnt
  23. ELSE 
  24.    page = 17
  25. ENDIF
  26.  
  27. x = 1
  28. t = 1
  29. DO alist WITH t
  30. y = 3 
  31. @ y,6 SAY aarea[x]
  32.  
  33. SET COLOR TO N/N
  34. charin=" "
  35. @ 2,0 GET charin
  36. DO WHILE .T.
  37.    READ                                          
  38.    DO CASE
  39.       CASE LastKey() = 5    && Up Arrow
  40.            IF y = 3                           
  41.               IF x # 1                           
  42.                  x = x - page
  43.                  t = x
  44.                  DO alist WITH t
  45.                  y = 19
  46.                  @ y,6 SAY aarea[x]
  47.               ENDIF
  48.               LOOP                 
  49.            ENDIF
  50.            SET COLOR TO W+/N
  51.            @ y,6 SAY aarea[x]
  52.            y = y - 1
  53.            x = x - 1
  54.            SET COLOR TO GR+/B
  55.            @ y,6 SAY aarea[x]
  56.            LOOP
  57.            
  58.       CASE LastKey() = 24                  && Down Arrow
  59.            IF x = cnt
  60.               LOOP
  61.            ENDIF
  62.            IF y = 19
  63.               x = x + 1
  64.               t = x
  65.               DO alist WITH t
  66.               y = 3                   
  67.               @ y,6 SAY aarea[x]
  68.               LOOP
  69.            ENDIF
  70.            SET COLOR TO W+/N
  71.            @ y,6 SAY aarea[x]
  72.            y = y + 1
  73.            x = x + 1
  74.            SET COLOR TO GR+/B
  75.            @ y,6 SAY aarea[x]
  76.            LOOP
  77.                    
  78.       CASE LastKey() = 27                   && <Esc>
  79.            IF md = 1
  80.               QUIT                                
  81.            ELSE
  82.               LOOP
  83.            ENDIF
  84.       
  85.       CASE LastKey() = 63                   && `?': Help
  86.            IF md = 1
  87.                 DO cls WITH 2,0,20,79
  88.                 SET COLOR TO GR+/N  
  89.                 @ 3,3 SAY "<Enter>"  
  90.                 @ 8,3 SAY "Cursor Keys"                                  
  91.                 @ 11,3 SAY "S"                                  
  92.                 @ 15,3 SAY "N"                                  
  93.                 SET COLOR TO BG/N  
  94.                 @ 3,11 SAY "Listings in highlited area" 
  95.                 @ 8,15 SAY "Move highlite"
  96.                 @ 11,5 SAY "Search, all areas"
  97.                 @ 15,5 SAY "New listings"
  98.                 SET COLOR TO W+/N  
  99.                 @ 4,3 SAY "Shows all listings in the area selected. From this list, listings may be"
  100.                 @ 5,3 SAY "viewed in full detail, downloaded, or tagged for view/download. Searching" 
  101.                 @ 6,3 SAY "within each area is also an option."
  102.                 @ 9,3 SAY "The up and down arrow key allow moving of the highlite bar to select areas."
  103.                 @ 12,3 SAY "Allows searching of entire database. Listings found in the search are" 
  104.                 @ 13,3 SAY "added to the download/view queue."
  105.                 @ 16,3 SAY "Shows complete listing information for all listings for the last 30 days."
  106.                 @ 17,3 SAY "Listings are automatically added to the download/view queue, and may be"
  107.                 @ 18,3 SAY "removed from the queue by untagging"
  108.                 @ 19,25 SAY "───── Any Key to Continue ─────"
  109.                 key = InKey(100)
  110.                 DO cls WITH 2,0,20,79
  111.                 SET COLOR TO GR+/N  
  112.                 @ 3,3 SAY "D"                                  
  113.                 @ 8,3 SAY "?"           
  114.                 @ 11,3 SAY "<Esc>"                                  
  115.                 SET COLOR TO BG/N  
  116.                 @ 3,5 SAY "Download tagged listings"
  117.                 @ 8,5 SAY "Help"
  118.                 @ 11,9 SAY "Quit"
  119.                 SET COLOR TO W+/N  
  120.                 @ 4,3 SAY "A file is created with the name `HOMEBASE.TXT' which contains all of the" 
  121.                 @ 5,3 SAY "listing information for every listing in the tag queue. The file is"
  122.                 @ 6,3 SAY "downloaded to your computer and the Homebase program terminates."
  123.                 @ 9,3 SAY "Displays this file."
  124.                 @ 12,3 SAY "Quits Homebase program."
  125.                 @ 19,25 SAY "───── Any Key to Continue ─────"
  126.                 key = InKey(100)
  127.                 DO cls WITH 2,0,20,79
  128.                 DO alist WITH t
  129.                 @ y,6 SAY aarea[x]
  130.            ELSE
  131.               LOOP
  132.            ENDIF
  133.  
  134.  
  135.       CASE LastKey() = 68 .OR. LastKey() = 100      && D or d: Download
  136.            IF md = 1
  137.               fnd = aScan(tarray,"EMPTY")
  138.               IF fnd > 1
  139.                  fnd = fnd - 1
  140.                  DO ty
  141.                  DO BoxB WITH 5,18,10,60
  142.                  @ 6,20 SAY "Listings to be downloaded: " + Ltrim(Str(fnd))
  143.                  @ 8,20 SAY "Upon download, HomeBase will terminate."
  144.                  @ 9,20 SAY "Do you want to download the listings?"
  145.                  SET COLOR TO N/N
  146.                  @ 2,0 GET charin
  147.                  DO WHILE .T.
  148.                     READ
  149.                     DO CASE
  150.                        CASE LastKey() = 89 .OR. LastKey() = 121   && `Y' or `y'
  151.                             ok = .T.
  152.                             DO make
  153.                             IF .NOT. ok
  154.                                DO cls WITH 2,0,20,79
  155.                                DO BoxB WITH 6,24,9,53
  156.                                @ 7,26 SAY "Download file not created."
  157.                                @ 8,31 SAY      "Notify Sysop."
  158.                                key = InKey(4)
  159.                                DO cls WITH 2,0,20,79
  160.                                DO ta
  161.                                DO alist WITH t
  162.                                @ y,6 SAY aarea[x]
  163.                                EXIT
  164.                             ELSE
  165.                                DOTBBS TYPE 34 OPTDATA "C:\HOMEBASE\TEXT /I:" + Chr(34) + "homebase.txt" + Chr(34)
  166.                                ERASE C:\HOMEBASE\TEXT\homebase.txt"
  167.                                QUIT
  168.                             ENDIF
  169.                        CASE LastKey() = 78 .OR. LastKey() = 110   && 'N' or 'n'
  170.                             DO cls WITH 2,0,20,79
  171.                             DO ta
  172.                             DO alist WITH t
  173.                             @ y,6 SAY aarea[x]
  174.                             ok = .F.
  175.                             EXIT
  176.                     
  177.                        OTHERWISE
  178.                             LOOP
  179.                     ENDCASE   
  180.                  ENDDO
  181.                  IF .NOT. ok
  182.                     LOOP
  183.                  ENDIF
  184.               ELSE
  185.                  DO BoxB WITH 5,16,10,62
  186.                  @ 6,18 SAY "No listings have been tagged for download."
  187.                  @ 8,18 SAY "To tag listings, Select 'T' in List Screen,"
  188.                  @ 9,18 SAY "or use Search to find desired listings."
  189.                  DO cls WITH 2,0,20,79
  190.                  DO ta
  191.                  DO alist WITH t
  192.                  @ y,6 SAY aarea[x]
  193.                  LOOP
  194.               ENDIF
  195.            ELSE
  196.               LOOP
  197.            ENDIF
  198.            
  199.       CASE LastKey() = 78 .OR. LastKey() = 110      && N or n: New listings
  200.            IF md = 1
  201.               DO new
  202.               SELECT b
  203.               DO cls WITH 2,0,20,79
  204.               SET COLOR TO GR+/R 
  205.               @ 0,3 SAY city    
  206.               @ 0,Col()+1 SAY "Real Estate Areas"                 
  207.               SET COLOR TO W+/R 
  208.               @ 0,73 SAY "AREA  "
  209.               DO ta
  210.               DO alist WITH t
  211.               @ y,6 SAY aarea[x]
  212.            ELSE
  213.               LOOP
  214.            ENDIF
  215.  
  216.       CASE LastKey() = 83 .OR. LastKey() = 115      && S or s: Search 
  217.            IF md = 1
  218.               DO sscr
  219.               SET COLOR TO GR+/R
  220.               @ 0,3 SAY "Search in " + city
  221.               DO search WITH 3
  222.               SET FORMAT TO fscr NOCLEAR
  223.               SELECT b
  224.               DO cls WITH 2,0,20,79
  225.               SET COLOR TO GR+/R 
  226.               @ 0,3 SAY city    
  227.               @ 0,Col()+1 SAY "Real Estate Areas"                 
  228.               SET COLOR TO W+/R 
  229.               @ 0,73 SAY "AREA  "
  230.               DO ta
  231.               DO alist WITH t
  232.               @ y,6 SAY aarea[x]
  233.            ELSE
  234.               LOOP
  235.            ENDIF
  236.  
  237.       CASE LastKey() = 13                          && <Enter>
  238.            IF md = 1
  239.               SEEK aarea[x]
  240.               larea = name
  241.               DO list 
  242.               SELECT b
  243.               DO cls WITH 2,0,20,79
  244.               SET COLOR TO GR+/R 
  245.               @ 0,3 SAY city    
  246.               @ 0,Col()+1 SAY "Real Estate Areas"                 
  247.               SET COLOR TO W+/R 
  248.               @ 0,73 SAY "AREA  "
  249.               DO ta
  250.               DO alist WITH t
  251.               @ y,6 SAY aarea[x]
  252.            ELSE
  253.               SELECT e
  254.               REPLACE aname WITH aarea[x]
  255.               SELECT a
  256.               REPLACE area WITH aarea[x]
  257.               RELEASE aarea
  258.               EXIT
  259.            ENDIF
  260.       
  261.       OTHERWISE 
  262.            LOOP
  263.    ENDCASE
  264. ENDDO
  265. RETURN
  266.  
  267.  
  268. **************************************************
  269. PROCEDURE alist
  270. PARAMETERS z
  271.  
  272.  
  273. PRIVATE x
  274. PRIVATE y
  275. PRIVATE r
  276.  
  277. x = z
  278. y = 3                                            
  279. r = 1                                             
  280. DO cls WITH 2,0,20,79                  
  281. DO WHILE y < 20                             
  282.          SEEK aarea[x]
  283.          
  284.          SET COLOR TO GR+/N                      
  285.          @ y,1 SAY "["                           
  286.          @ y,2 SAY r PICTURE "@Z 99"         
  287.          @ y,4 SAY "]"                           
  288.          SET COLOR TO W+/N                        
  289.          @ y,6 SAY name                       
  290.          SET COLOR TO G/N                         
  291.          @ y,20 SAY define                    
  292.          
  293.          IF x = Len(aarea)
  294.             EXIT                                  
  295.          ENDIF
  296.          x = x + 1
  297.          y = y + 1                            
  298.          r = r + 1                            
  299. ENDDO
  300. SET COLOR TO GR+/B                               
  301. RETURN
  302.